根据架设环节不同将负载均衡分为哪些类型
根据架设环节不同将负载均衡分为以下类型:
数据链路层负载均衡:数据链路层负载均衡使用虚拟MAC地址的方式提供服务,请求数据包中的二层目的地址封装的是对外服务的虚拟MAC地址,负载均衡接收请求后,会将请求分配到具有实际MAC地址的设备上进行响应。在这个过程中,负载均衡利用修改目的MAC地址的方式进行请求转发,而不修改IP,因为组建这样的负载均衡模型时,真实物理服务器集群的IP和负载均衡服务IP是一致的。这种方式的好处是不需要修改数据包的源IP和目的IP就可以实现数据分发。
网络层负载均衡:网络层负载均衡(三层负载均衡)采用虚拟IP地址的方式提供服务。请求数据包中的IP地址为负载均衡服务IP,并且请求将通过实际互联IP地址分配到后端实际的服务器上进行响应。在这一原理中,请求数据包将被负载均衡服务器的内核进行处理,通过负载均衡算法得到一个目标真实服务器的地址,并修改请求数据包中的目的IP为真实服务器IP,来完成请求的分发。而真实服务器处理请求后,会将响应返回给负载均衡服务器,在负载均衡服务器上再次完成源IP的修改,用负载均衡自身的服务IP对客户端进行回应。
反向代理负载均衡:利用反向代理实现负载均衡已经成为很多云平台厂商常用的方法。反向代理位于服务提供侧,部署在服务器的前端,替服务接收HTTP请求。服务器也不直接暴露于公网提供服务,因此并不需要部署外网IP,所以反向代理还有保护网站安全的作用。反向代理得到服务器的响应内容后,同时可以缓存到本地,当内容再次被请求时,代理可以通过缓存内容对用户进行响应,很大程度上降低了服务器的负载。
DNS负载均衡:DNS负载均衡是利用处理DNS域名解析请求的同时进行负载均衡。可以在DNS服务中为同一个域名配置多条A记录,使得每一次的域名解析请求根据负载均衡算法分配到不同的服务IP。
HTTP重定向负载均衡:HTTP重定向负载均衡中需要有一个重定向服务器来完成HTTP请求的重定向任务,通过重定向建立连接的目的地址来完成负载均衡。但是这一过程会使客户端的浏览器发起两次链接请求才能正常访问,并且即使是重定向的过程,对于重定向服务器而言也是一次标准的HTTP请求响应过程,重定向服务器会回复302响应状态码给浏览器。